这里,我提供一种用栈来解决的方法:思路:栈的结构是先进后出,这样我们就可以模拟栈结构了,如果是‘(’、‘{’、‘[’任何一种,直接push进栈就可以了,如果是‘}’、‘)’、‘]’任何一种就开始判断,看栈pop的是否和对应的字符匹配。 下面是源码:typedefcharSTDateType;typedefstructStack{ STDateType*a; inttop; intcapacity;}Stack;voidStackInit(Stack*ps);voidStackPush(Stack*ps,STDateTypex);voidStackPop(Stack*ps);STDateTy
文章目录1、int[]转Integer[]:2、两道leetcode题遇到的场景:2.1、int[]转List:2.2、int[]转Map:1、int[]转Integer[]:publicstaticvoidmain(String[]args){int[]nums={1,2,3};Integer[]array=Arrays.stream(nums).boxed().toArray(Integer[]::new);System.out.println(Arrays.toString(array));}输出://[1,2,3]2、两道leetcode题遇到的场景:众所周知,将普通数组转为List集
前言欢迎来到小K的Leetcode|代码随想录|专题化专栏,今天将为大家带来字符串~反转字符串|反转字符串II|替换空格|反转字符串中的单词|左旋转字符串的分享✨目录前言344.反转字符串541.反转字符串II剑指Offer05.替换空格151.反转字符串中的单词剑指Offer58-II.左旋转字符串总结344.反转字符串✨题目链接点这里编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l
前言:💥🎈个人主页:Dream_Chaser~ 🎈💥✨✨刷题专栏:http://t.csdn.cn/UlvTc⛳⛳本篇内容:力扣和牛客上链表OJ题目目录 一、链表中倒数第k个结点题目描述:解题思路:二.合并两个链表(含哨兵位) 题目描述:解题思路: 不含哨兵位三.分割链表 题目描述:解题思路:四.链表的回文结构题目描述:解题思路: 一、链表中倒数第k个结点来源:链表中倒数第k个结点_牛客题霸_牛客网(nowcoder.com)题目描述:输入一个链表,输出该链表中倒数第k个结点。示例:输入:1,{1,2,3,4,5}返回值:{5}解题思路:
LeetCode.141——环形链表:题目如下:通过题目中对于环形链表的大体描述,可以知道,环形链表最后一个结点保存了一个地址,用于返回链表中某个结点。并且。这个返回的结点并不是返回图中保存数据的结点。而是返回链表中任意一个结点。即: 或者:题目中给了两个要求,分别是:1.判断链表中是否有环2.如果不存在环,则返回,存在环则返回。对于不存在环的这种情况很好判断。如果链表中任意一个结点保存的地址为,则这个链表不带环。但是难点在于如何判断链表带环。如果按照判断不带环的思想去判断是否带环,即链表是否可以无限运行下去显然不可能。如果采用双指针的方法一个指针从头结点开始,另一个指针向后遍历,如果存在则说
前言:\textcolor{Green}{前言:}前言:💞快秋招了,那么这个专栏就专门来记录一下,同时呢整理一下常见面试题💞部分题目来自自己的面试题,部分题目来自网络整理给我冲学习目标:面试题:算法题:完成?学习目标:最左匹配原则索引失效情况最长回文子串面试题:最左匹配原则 最左匹配原则以及为什么这样就可以用到联合索引 最左优先,以最左边的为起点任何连续的索引都能匹配上。 联合索引是首先根据联合索引中最左边的、也就是第一个字段进行排序,在第一个字段排序的基础上,再对联合索引中后面的第二个字段进行排序,依此类推。索引失效的情况当我们使用左或者左右模糊匹配的时候,也就是like%xx或者li
☃️个人主页:fighting小泽🌸作者简介:目前正在学习C语言和数据结构🌼博客专栏:数据结构🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻1.空间复杂度空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用的额外的存储空间大小的量度。空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。1.1空间复杂度的例子实例1:计算Bubble
题目链接Leetcode.111二叉树的最小深度easy题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在[0,105][0,10^5][0,105]内−1000−1000Node.val1000解法:递归我们要求的是叶子结点到根结点的最短路径。我们设lll和rrr分别是当前结点rootrootroot的左子节点到根结点
文章目录73.矩阵置零:样例1:样例2:提示:进阶:分析:题解:rust:go:c++:python:java:73.矩阵置零:给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。样例1:输入: matrix=[[1,1,1],[1,0,1],[1,1,1]] 输出: [[1,0,1],[0,0,0],[1,0,1]]样例2:输入: matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]] 输出: [[0,0,0,0],[0,4,5,0],[0,3,1,0]]提示:m==matrix.lengthn==matrix[0].le
题目:从左向右读和从右往左读是完全一样的,这样的数称为“回文数”。像数字在照镜子一样,现在试着求出1~n之间“回文数”的个数。这一个题目我们可以这样做:首先,我们来判断一个数是不是回文数。while(n!=0){ s=n%10;//取出个位 sum=sum*10+s;//把这个数加上10倍sum存在sum里面。这样可以使以前的个位变成最高位。 n=n/10;//去掉个位}有了这一步,我们就可以写出程序来了。我们用一个函数来打包这个代码。boolhuiwen(intn){intt=n,sum=0,s;while(n!=0){s=n%10;sum=sum*10+s;n=n/10;}if(su